package com.gzs.learn.payment.inf;

import com.gzs.learn.inf.BaseResponseDto;
import com.gzs.learn.inf.PageResponseDto;
import com.gzs.learn.payment.inf.dto.web.PaymentChannel;
import com.gzs.learn.payment.inf.dto.web.PaymentList;
import com.gzs.learn.payment.inf.dto.web.req.PaymentChannelSearchDto;
import com.gzs.learn.payment.inf.dto.web.req.PaymentSearchDto;
import org.springframework.web.bind.annotation.*;

/**
 * 后端管理系统查询接口
 *
 * @author guanzhisong
 * @date 2021/7/12
 */
@RequestMapping("payment/web/query")
public interface IPaymentWebQueryClientSign {

    /**
     * 获取明细
     *
     * @param id
     * @return
     */
    @GetMapping("detail/{id}")
    BaseResponseDto<PaymentList> paymentDetail(@PathVariable("id") Long id);

    /**
     * 查询支付记录列表
     *
     * @param paymentSearchDto
     * @return
     */
    @PostMapping("search-payment")
    PageResponseDto<PaymentList> searchPaymentList(@RequestBody PaymentSearchDto paymentSearchDto);

    /**
     * 查询指定的支付渠道配置
     *
     * @param id
     * @return
     */
    @GetMapping("channel/{id}")
    BaseResponseDto<PaymentChannel> channelDetail(@PathVariable("id") Long id);

    /**
     * 渠道列表
     *
     * @param channelSearchDto
     * @return
     */
    @PostMapping("search-channel")
    PageResponseDto<PaymentChannel> searchChannelList(@RequestBody PaymentChannelSearchDto channelSearchDto);
}
